package com.sz.mes.entity;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sz.mes.entity.BaseCustomEntity;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.util.D;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * 生产订单完工报告表 Entity定义
 * @author hem
 * @version 1.0
 * @date 2023-09-14
 * Copyright © szhs
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("complete_rpt")
public class CompleteRpt extends BaseCustomEntity {

    private static final long serialVersionUID = 6868931733218246909L;

    /**
     * 单据编号
     */
    @Length(max = 100, message = "单据编号长度应小于100")
    @TableField()
    private String receiptNum;

    /**
     * 状态
     */
    @Length(max = 100, message = "状态长度应小于100")
    @TableField()
    private String status;

    /**
     * 生产订单编号
     */
    @Length(max = 100, message = "生产订单编号长度应小于100")
    @TableField()
    private String productionOrderNum;

    /**
     * 料品料号
     */
    @Length(max = 100, message = "料品料号长度应小于100")
    @TableField()
    private String productNum;

    /**
     * 料品品名
     */
    @Length(max = 100, message = "料品品名长度应小于100")
    @TableField()
    private String productName;

    /**
     * 料品.规格
     */
    @Length(max = 100, message = "料品.规格长度应小于100")
    @TableField()
    private String productSpecification;

    /**
     * 生产单位
     */
    @Length(max = 100, message = "生产单位长度应小于100")
    @TableField()
    private String productUnit;

    /**
     * 生产数量
     */
    @TableField()
    private Integer quantity;

    /**
     * 累计入库数量
     */
    @TableField()
    private Integer instockQuantity;

    /**
     * 入库时间
     */
    @TableField()
    private Date instockTime;

    /**
     * 报废数量
     */
    @TableField()
    private Integer scrapQuantity;

    /**
     * 累计完工数量
     */
    @TableField()
    private Integer endQuantity;

    /**
     * 生产部门
     */
    @Length(max = 100, message = "生产部门长度应小于100")
    @TableField()
    private String productSection;

    /**
     * 待返工数量
     */
    @TableField()
    private Integer reworkQuantity;

    /**
     * 存储地点
     */
    @Length(max = 100, message = "存储地点长度应小于100")
    @TableField()
    private String location;

    /**
     * 创建人
     */
    @Length(max = 100, message = "创建人长度应小于100")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
}
